import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** CRM 产品出入库记录信息 */
export interface InventoryRecord {
          id: number; // 主键
          productId?: number; // 产品id
          orderId: number; // 订单id
          stockId: number; // 备货单id
          productName?: string; // 产品名称
          fullName: string; // 全名
          itemNo: string; // 客户道具编码
          productNo?: string; // 产品编码
          orderNo: string; // 订单号
          orderName: string; // 订单名称
          stockNo: string; // 备货单号
          stockName: string; // 备货单名称
          operateType: string; // 操作类型 in-入库， out-出库 
          originCount: number; // 原库存数量
          inCount: number; // 入库数量
          outCount: number; // 出库数量
          finalCount: number; // 最终库存数量
          note: string; // 备注说明
  }

// CRM 产品出入库记录 API
export const InventoryRecordApi = {
  // 查询CRM 产品出入库记录分页
  getInventoryRecordPage: async (params: any) => {
    return await request.get({ url: `/crm/inventory-record/page`, params })
  },

  // 查询CRM 产品出入库记录详情
  getInventoryRecord: async (id: number) => {
    return await request.get({ url: `/crm/inventory-record/get?id=` + id })
  },

  // 新增CRM 产品出入库记录
  createInventoryRecord: async (data: InventoryRecord) => {
    return await request.post({ url: `/crm/inventory-record/create`, data })
  },

  // 修改CRM 产品出入库记录
  updateInventoryRecord: async (data: InventoryRecord) => {
    return await request.put({ url: `/crm/inventory-record/update`, data })
  },

  // 删除CRM 产品出入库记录
  deleteInventoryRecord: async (id: number) => {
    return await request.delete({ url: `/crm/inventory-record/delete?id=` + id })
  },

  /** 批量删除CRM 产品出入库记录 */
  deleteInventoryRecordList: async (ids: number[]) => {
    return await request.delete({ url: `/crm/inventory-record/delete-list?ids=${ids.join(',')}` })
  },

  // 导出CRM 产品出入库记录 Excel
  exportInventoryRecord: async (params) => {
    return await request.download({ url: `/crm/inventory-record/export-excel`, params })
  },
}